#ifndef SAXPARSER_H_
#define SAXPARSER_H_

#include "veccontinentes.h"
#include "vecmisiones.h"
#include <stdlib.h>
#include <libxml++/libxml++.h>
#include <glibmm/convert.h>
#include <string>
using namespace std;

class SaxParser : public xmlpp::SaxParser{
	
	public:
		SaxParser(VecContinentes &vec, string &rutaI, VecMisiones &vm);
		virtual ~SaxParser(){};

	protected:
	
		VecContinentes &vContinentes;
		string continente, pais, &rutaImagen;
		VecMisiones &vMisiones;
  
		virtual void on_start_element(const Glib::ustring& name,
	                                const AttributeList& properties);
	/*
	//overrides:
	virtual void on_start_document();
	virtual void on_end_document();
	virtual void on_end_element(const Glib::ustring& name);
	virtual void on_characters(const Glib::ustring& characters);
	virtual void on_comment(const Glib::ustring& text);
	virtual void on_warning(const Glib::ustring& text);
	virtual void on_error(const Glib::ustring& text);
	virtual void on_fatal_error(const Glib::ustring& text);
	*/
	
		void cargaContinente(const AttributeList& properties);
		void cargaPais(const AttributeList& properties);
		void cargaConeccion(const AttributeList& properties);
		void cargaConquista(const AttributeList& properties);
		void cargaEliminacion(const AttributeList& properties);
};

#endif /*SAXPARSER_H_*/
